In a system comprising linked lists implemented in hardware the linked lists are likely purged. Typically a linked list is purged starting with a pointer to the head of the linked list. The pointers of each node in the linked list are then placed in a free block list after they are purged. Currently, a purging mechanism does not exist for efficiently purging a link list when there are multiple points from which the linked list can be purged and only two read ports are available to traverse the linked lists. Two read ports are usually the maximum number of read ports for a register array or RAM. Current linked list purging systems do not provide an efficient purging mechanism for receiving multiple head pointers and then purging the linked lists starting with those head pointers as quickly as possible.
Therefore a need exists to overcome the problems with the prior art as discussed above.